<script setup>
import {exportWordImage, getWordImage} from "@/utils/exportFile";
import {ref} from "vue";

const dialogVisible = ref(false);
const ygFlag = ref(false);

const imgTemp = "";
const startSchemeTemplate = ref({
      feeSubjectImg: imgTemp,
      totalFeeCategoryImg: imgTemp,
      projectFeeImg: imgTemp,
      deptFeeSubjectImg: imgTemp,
      deptFeePorjectImg: imgTemp,
      totalFeeSubjectImg: imgTemp,
      allFarmFeeLine1: `本次统计周期内，全场费用总计元，其中{D2-费用科目1}{D3-费用科目1金额}元，占比{D4-费用科目2金额/总额*100%}%；{费用科目2}{费用科目2金额}元，占比{费用科目2金额/总额*100%}%；{费用科目3}{费用科目3金 额}元，占比{费用科目3金额/总额*100%}%；{费用科目4}{费用科目4金额}元，占比{费用科目4金额/总额*100%}%。`,
      deptFeeLine1: `部门费用指未通过项目合同流程支付的相关费用，由个人或部门自行上报汇总，其中{C1-费用发生部门1}共计{C2-对应部门费用}元，{费用发生部门2}共计{对应部门费用}元。`,
      deptFee: [
        {deptFeeItem: `{部门1}中，{费用科目1}{费用科目1金额}元，{费用科目2}{费用科目2金额}元，{费用科目3}{费用科目3金额}元。`},
        {deptFeeItem: `{部门2}中，{费用科目1}{费用科目1金额}元，{费用科目2}{费用科目2金额}元，{费用科目3}{费用科目3金额}元。`},
        {deptFeeItem: `{部门3}中，{费用科目1}{费用科目1金额}元，{费用科目2}{费用科目2金额}元，{费用科目3}{费用科目3金额}元。`},
        {deptFeeItem: `{部门4}中，{费用科目1}{费用科目1金额}元，{费用科目2}{费用科目2金额}元，{费用科目3}{费用科目3金额}元。`},
      ],
      startYear: "2024",
      endYear: "2024",
      startMonth: "01",
      endMonth: "08",
      feeCategoryLine1: `上述各项目总费用为{A2}元，其中运行检修类费用共计{B10-运行检修类总费用}元，技改类费用共计{B11-技改类总费用}元。其他类费用共计{B12-其他类总费用}元。`,
      hasDeptFee: true,
      hasProjectFee: true,
      projectCategoryLine1: `本次统计周期内包含{B-项目类别，多个顿号拼接}的项目信息。其中{B1-项目类别1}项目共计{B2-项目类别1总金额}元，占比{B3-项目类别1金额/项目费用总额*100%}%；{项目类别2}项目共计{项目类别2总金额}元,占比{项目类别2 金额/项目费用总额*100%}%。`,
      projectCategory: [
        {projectCategoryItem: `一期工程类中，技术服务费2222元。`},
        {projectCategoryItem: `二期工程类中，技术服务费28.5元。`},
        {projectCategoryItem: `中闽生产运营中，船舶租赁费3001元。`},
        {projectCategoryItem: `大麦屿项目中，技术服务费666.73元。`},
        {projectCategoryItem: `闽投生产运营中，折旧费1223.75元。`},
        {projectCategoryItem: `送出线路中，船舶租赁费681.21元，劳务费311.67元，折旧费512.61元。`},
      ],
      top: `本次统计时间内，总费用{A1-成本汇总总金额}元，其中通过各类项目费用{A2-项目费用总金额}元，部门费用{A3-零星上报总金额}元`,
      year: "2024",
      ywTaskLine1: `本次统计周期内，运维任务相关情况如下：`,
      ywTaskLine2: `发电设备共发生故障停机{E1-停机类型为“故障停机”的次数}次，其中通过转工单（分配至检修）处理的为{E2-处理办法为“转工单”的次数}次，计划消缺{E3-对应次数}次，定检维护{E4-对应次数}次，场内外受累{E5-对应次数}次， 场内受累{E6-对应次数}次，其他原因{E7-对应次数}次。`,
      ywTaskLine3: `输变电设备共完成故障消缺{E8-已完成的公用系统缺陷工单数量}次，当前正在处理中{E9处理中的公用系统缺陷工单数量}次。`,
      ywTaskLine4: `结合成本汇总数据，运行检修类开销总计{E10-运行检修类开销总金额}元，平均每次运维任务成本为{E11-运行检修类总费用/运维任务总次数}元/台次。`,
      ywTaskLine5: `发布检修计划{E12-检修工作计划数量}次，执行操作任务{E14-操作票数量}项、电气第一种工作票{E-电一票数量}张、电气第二种工作票{E-电二票数量}张、风力发电机组工作票{E-风机票数量}张、有限空间作业票{E-有限空间数量} 张、工作任务单{E-任务单数量}张、一级动火工作票{E-一级动火数量}张、二级动火工作票{E-二级动火数量}张、应急抢修单{E-抢修单数量}张。`,
      ywTaskLine6: `领用物资共{E15-领用出库物资总数量}件，含税总价值{E16-领用出库物资含税总金额}元，下一统计周期需要关注库存问题的物资共{E}种，具体情况如下：`,
      ywTaskLine7: `公司级仓库领用出库{E17-公司级领用出库物资总数量}件，含税总价值{E18-公司级领用出库物资含税总金额}元`,
      ywTaskLine8: `部门级仓库领用出库{E19-部门级领用出库物资总数量}件，含税总价值{E20-部门级领用出库物资含税总金额}元。`,
      projectStatisticsList: [
        {
          projectName: "项目名称111",
          projectLine1: `“{项目名称111}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`,
          projectImgLine1: imgTemp
        },
        {
          projectName: "项目名称222",
          projectLine1: `“{项目名称222}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`,
          projectImgLine1: imgTemp
        }
      ]
    }
);


const cbyg = ref(
    {
      year: "2024",
      planFeeLine1: `“{项目名称}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`,
      ywTaskLine1: `“{项目名称}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`,
      ywTaskLine2: `“{项目名称}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`,
      ywTaskLine3: `“{项目名称}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`,
      ywTaskLine4: `“{项目名称}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`,
      ywTaskLine5: `“{项目名称}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`,
      ywTaskLine6: `“{项目名称}”费用总计{该项目总费用}元，其中{费用科目名称}{费用科目金额}元，{费用科目2}{费用科目2金额}元。`
    }
);

const imgSize = ref({
  imgPath: [150, 150],
  imgPath1: [550, 250],
});

const htmlTitle = ref("成本统计");
const htmlTitleYg = ref("成本预估");

const downLoad = () => {
  exportWordImage(
      "../成本统计导出模板.docx",
      startSchemeTemplate.value,
      htmlTitle.value,
      // imgSize.value
      null
  );
};

const downLoadYg = () => {
  exportWordImage(
      "../成本预估导出模板.docx",
      cbyg.value,
      htmlTitleYg.value,
      null
  );
};

const goPreview = () => {
  dialogVisible.value = true;
};
const goPreviewYg = () => {
  ygFlag.value = true;
  dialogVisible.value = true;
};

const file = ref(null);
const handleOpened = () => {
  let template = "../成本统计导出模板.docx";
  let data = startSchemeTemplate.value;
  if (ygFlag.value) {
    template = "../成本预估导出模板.docx";
    data = cbyg.value;
  }
  getWordImage(
      template,
      data,
      imgSize.value,
      file.value
  );
  ygFlag.value = false;
};
</script>

<template>
  <div style="height: 90%; background: #fff; padding: 24px">
    <div style="margin-bottom: 17px; text-align: left">
      <el-button type="primary" @click="downLoad"> 下载统计方案 </el-button>
      <el-button type="primary" @click="goPreview"> 预览统计方案 </el-button>
      <br><br>
      <hr>
      <br>
      <el-button type="primary" @click="downLoadYg"> 下载预估方案 </el-button>
      <el-button type="primary" @click="goPreviewYg"> 预览预估方案 </el-button>
    </div>
    <el-divider />
    <div style="margin-top: 24px">
      <!--搜索区域-->
    </div>
  </div>
  <el-dialog
    v-model="dialogVisible"
    @opened="handleOpened"
    title="预览方案"
    width="1200px"
    top="5vh"
  >
    <div class="docWrap">
      <div ref="file"></div>
    </div>
  </el-dialog>
</template>

<style scoped>
.btn {
  float: left;
  margin: 0 0 24px;
}
.docWrap {
  height: 700px;
  overflow: auto;
  clear: both;
}
</style>
